package org.example.myleet.p1021;

import java.util.Deque;
import java.util.LinkedList;

public class Solution {

    public String removeOuterParentheses(String s) {
        int len = 0;
        char[] charArr = s.toCharArray();
        StringBuilder sb = new StringBuilder();
        boolean startOfPrimitive = true;
        for (char c : charArr) {
            if (!startOfPrimitive) {
                sb.append(c);
            } else {
                startOfPrimitive = false;
            }
            if (len == 0 || c == '(') {
                ++len;
            } else {
                --len;
                if (len == 0) {
                    sb.deleteCharAt(sb.length() - 1);
                    startOfPrimitive = true;
                }
            }
        }
        return sb.toString();
    }

//    public String removeOuterParentheses(String s) {
//        Deque<Character> stack = new LinkedList<>();
//        char[] charArr = s.toCharArray();
//        StringBuilder sb = new StringBuilder();
//        boolean startOfPrimitive = true;
//        for (char c : charArr) {
//            if (!startOfPrimitive) {
//                sb.append(c);
//            } else {
//                startOfPrimitive = false;
//            }
//            if (stack.isEmpty() || c == '(') {
//                stack.push(c);
//            } else {
//                stack.pop();
//                if (stack.isEmpty()) {
//                    sb.deleteCharAt(sb.length() - 1);
//                    startOfPrimitive = true;
//                }
//            }
//        }
//        return sb.toString();
//    }
}
